<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Search Engine: rapidxml::xml_base&lt; Ch &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Search Engine
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacerapidxml.html">rapidxml</a></li><li class="navelem"><a class="el" href="classrapidxml_1_1xml__base.html">xml_base</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classrapidxml_1_1xml__base-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">rapidxml::xml_base&lt; Ch &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="rapidxml_8hpp_source.html">rapidxml.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for rapidxml::xml_base&lt; Ch &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classrapidxml_1_1xml__base.png" usemap="#rapidxml::xml_base&lt; Ch &gt;_map" alt=""/>
  <map id="rapidxml::xml_base&lt; Ch &gt;_map" name="rapidxml::xml_base&lt; Ch &gt;_map">
<area href="classrapidxml_1_1xml__attribute.html" alt="rapidxml::xml_attribute&lt; Ch &gt;" shape="rect" coords="0,56,184,80"/>
<area href="classrapidxml_1_1xml__node.html" alt="rapidxml::xml_node&lt; Ch &gt;" shape="rect" coords="194,56,378,80"/>
<area href="classrapidxml_1_1xml__document.html" alt="rapidxml::xml_document&lt; Ch &gt;" shape="rect" coords="194,112,378,136"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a23e7f7aac02d17a0a01afb597e4b966b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a23e7f7aac02d17a0a01afb597e4b966b">xml_base</a> ()</td></tr>
<tr class="separator:a23e7f7aac02d17a0a01afb597e4b966b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a09739310469995db078ebd0da3ed45"><td class="memItemLeft" align="right" valign="top">Ch *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a9a09739310469995db078ebd0da3ed45">name</a> () const </td></tr>
<tr class="separator:a9a09739310469995db078ebd0da3ed45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e7f98b3d01e1eab8dc1ca69aad9af84"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a7e7f98b3d01e1eab8dc1ca69aad9af84">name_size</a> () const </td></tr>
<tr class="separator:a7e7f98b3d01e1eab8dc1ca69aad9af84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcdaccff61c665f039d9344e447b7445"><td class="memItemLeft" align="right" valign="top">Ch *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#adcdaccff61c665f039d9344e447b7445">value</a> () const </td></tr>
<tr class="separator:adcdaccff61c665f039d9344e447b7445"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fcf201ed0915ac18dd43b0b5dcfaf32"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a9fcf201ed0915ac18dd43b0b5dcfaf32">value_size</a> () const </td></tr>
<tr class="separator:a9fcf201ed0915ac18dd43b0b5dcfaf32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae55060ae958c6e6465d6c8db852ec6ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#ae55060ae958c6e6465d6c8db852ec6ce">name</a> (const Ch *name, std::size_t size)</td></tr>
<tr class="separator:ae55060ae958c6e6465d6c8db852ec6ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4611ddc82ac83a527c65606600eb2a0d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a4611ddc82ac83a527c65606600eb2a0d">name</a> (const Ch *name)</td></tr>
<tr class="separator:a4611ddc82ac83a527c65606600eb2a0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b183c2db7022a6d30494dd2f0ac11e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a3b183c2db7022a6d30494dd2f0ac11e9">value</a> (const Ch *value, std::size_t size)</td></tr>
<tr class="separator:a3b183c2db7022a6d30494dd2f0ac11e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81e63ec4bfd2d7ef0a6c2ed49be6e623"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a81e63ec4bfd2d7ef0a6c2ed49be6e623">value</a> (const Ch *value)</td></tr>
<tr class="separator:a81e63ec4bfd2d7ef0a6c2ed49be6e623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f31ae930f93852830234db1ae59c4c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrapidxml_1_1xml__node.html">xml_node</a>&lt; Ch &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a7f31ae930f93852830234db1ae59c4c4">parent</a> () const </td></tr>
<tr class="separator:a7f31ae930f93852830234db1ae59c4c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:ad96ff6b1e41dab3ff60b9bc4df769a75"><td class="memItemLeft" align="right" valign="top">static Ch *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#ad96ff6b1e41dab3ff60b9bc4df769a75">nullstr</a> ()</td></tr>
<tr class="separator:ad96ff6b1e41dab3ff60b9bc4df769a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:afd9851ed43e14619db0d7075ef8e9e8a"><td class="memItemLeft" align="right" valign="top">Ch *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#afd9851ed43e14619db0d7075ef8e9e8a">m_name</a></td></tr>
<tr class="separator:afd9851ed43e14619db0d7075ef8e9e8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a278a1ea63b0b70219b946cec47fa00ea"><td class="memItemLeft" align="right" valign="top">Ch *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a278a1ea63b0b70219b946cec47fa00ea">m_value</a></td></tr>
<tr class="separator:a278a1ea63b0b70219b946cec47fa00ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a8c76a7274b4180213796422c4df76f"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a5a8c76a7274b4180213796422c4df76f">m_name_size</a></td></tr>
<tr class="separator:a5a8c76a7274b4180213796422c4df76f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3a49d8ceddb8a8d7edb773a2226b89c"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#aa3a49d8ceddb8a8d7edb773a2226b89c">m_value_size</a></td></tr>
<tr class="separator:aa3a49d8ceddb8a8d7edb773a2226b89c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90d5f660f078f66563fd7b2d8387ccb0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrapidxml_1_1xml__node.html">xml_node</a>&lt; Ch &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidxml_1_1xml__base.html#a90d5f660f078f66563fd7b2d8387ccb0">m_parent</a></td></tr>
<tr class="separator:a90d5f660f078f66563fd7b2d8387ccb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class Ch = char&gt;<br/>
class rapidxml::xml_base&lt; Ch &gt;</h3>

<p>Base class for <a class="el" href="classrapidxml_1_1xml__node.html">xml_node</a> and <a class="el" href="classrapidxml_1_1xml__attribute.html">xml_attribute</a> implementing common functions: <a class="el" href="classrapidxml_1_1xml__base.html#a9a09739310469995db078ebd0da3ed45">name()</a>, <a class="el" href="classrapidxml_1_1xml__base.html#a7e7f98b3d01e1eab8dc1ca69aad9af84">name_size()</a>, <a class="el" href="classrapidxml_1_1xml__base.html#adcdaccff61c665f039d9344e447b7445">value()</a>, <a class="el" href="classrapidxml_1_1xml__base.html#a9fcf201ed0915ac18dd43b0b5dcfaf32">value_size()</a> and <a class="el" href="classrapidxml_1_1xml__base.html#a7f31ae930f93852830234db1ae59c4c4">parent()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Ch</td><td>Character type to use </td></tr>
  </table>
  </dd>
</dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a23e7f7aac02d17a0a01afb597e4b966b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::<a class="el" href="classrapidxml_1_1xml__base.html">xml_base</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9a09739310469995db078ebd0da3ed45"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ch* <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::name </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets name of the node. Interpretation of name depends on type of node. Note that name will not be zero-terminated if <a class="el" href="namespacerapidxml.html#af3fc88ba6bee33482a2db81b1da36ea1">rapidxml::parse_no_string_terminators</a> option was selected during parse. <br/>
<br/>
 Use <a class="el" href="classrapidxml_1_1xml__base.html#a7e7f98b3d01e1eab8dc1ca69aad9af84">name_size()</a> function to determine length of the name. </p>
<dl class="section return"><dt>Returns</dt><dd>Name of node, or empty string if node has no name. </dd></dl>

</div>
</div>
<a class="anchor" id="ae55060ae958c6e6465d6c8db852ec6ce"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::name </td>
          <td>(</td>
          <td class="paramtype">const Ch *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets name of node to a non zero-terminated string. See ownership_of_strings. <br/>
<br/>
 Note that node does not own its name or value, it only stores a pointer to it. It will not delete or otherwise free the pointer on destruction. It is reponsibility of the user to properly manage lifetime of the string. The easiest way to achieve it is to use <a class="el" href="classrapidxml_1_1memory__pool.html">memory_pool</a> of the document to allocate the string - on destruction of the document the string will be automatically freed. <br/>
<br/>
 Size of name must be specified separately, because name does not have to be zero terminated. Use <a class="el" href="classrapidxml_1_1xml__base.html#a4611ddc82ac83a527c65606600eb2a0d">name(const Ch *)</a> function to have the length automatically calculated (string must be zero terminated). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name of node to set. Does not have to be zero terminated. </td></tr>
    <tr><td class="paramname">size</td><td>Size of name, in characters. This does not include zero terminator, if one is present. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4611ddc82ac83a527c65606600eb2a0d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::name </td>
          <td>(</td>
          <td class="paramtype">const Ch *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets name of node to a zero-terminated string. See also ownership_of_strings and <a class="el" href="classrapidxml_1_1xml__base.html#ae55060ae958c6e6465d6c8db852ec6ce">xml_node::name(const Ch *, std::size_t)</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name of node to set. Must be zero terminated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7e7f98b3d01e1eab8dc1ca69aad9af84"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::size_t <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::name_size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets size of node name, not including terminator character. This function works correctly irrespective of whether name is or is not zero terminated. </p>
<dl class="section return"><dt>Returns</dt><dd>Size of node name, in characters. </dd></dl>

</div>
</div>
<a class="anchor" id="ad96ff6b1e41dab3ff60b9bc4df769a75"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Ch* <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::nullstr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7f31ae930f93852830234db1ae59c4c4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidxml_1_1xml__node.html">xml_node</a>&lt;Ch&gt;* <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::parent </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets node parent. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to parent node, or 0 if there is no parent. </dd></dl>

</div>
</div>
<a class="anchor" id="adcdaccff61c665f039d9344e447b7445"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ch* <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::value </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets value of node. Interpretation of value depends on type of node. Note that value will not be zero-terminated if <a class="el" href="namespacerapidxml.html#af3fc88ba6bee33482a2db81b1da36ea1">rapidxml::parse_no_string_terminators</a> option was selected during parse. <br/>
<br/>
 Use <a class="el" href="classrapidxml_1_1xml__base.html#a9fcf201ed0915ac18dd43b0b5dcfaf32">value_size()</a> function to determine length of the value. </p>
<dl class="section return"><dt>Returns</dt><dd>Value of node, or empty string if node has no value. </dd></dl>

</div>
</div>
<a class="anchor" id="a3b183c2db7022a6d30494dd2f0ac11e9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::value </td>
          <td>(</td>
          <td class="paramtype">const Ch *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets value of node to a non zero-terminated string. See ownership_of_strings. <br/>
<br/>
 Note that node does not own its name or value, it only stores a pointer to it. It will not delete or otherwise free the pointer on destruction. It is reponsibility of the user to properly manage lifetime of the string. The easiest way to achieve it is to use <a class="el" href="classrapidxml_1_1memory__pool.html">memory_pool</a> of the document to allocate the string - on destruction of the document the string will be automatically freed. <br/>
<br/>
 Size of value must be specified separately, because it does not have to be zero terminated. Use <a class="el" href="classrapidxml_1_1xml__base.html#a81e63ec4bfd2d7ef0a6c2ed49be6e623">value(const Ch *)</a> function to have the length automatically calculated (string must be zero terminated). <br/>
<br/>
 If an element has a child node of type node_data, it will take precedence over element value when printing. If you want to manipulate data of elements using values, use parser flag <a class="el" href="namespacerapidxml.html#ac2d21ef14a4e8936b94aca5d38b1a74d">rapidxml::parse_no_data_nodes</a> to prevent creation of data nodes by the parser. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>value of node to set. Does not have to be zero terminated. </td></tr>
    <tr><td class="paramname">size</td><td>Size of value, in characters. This does not include zero terminator, if one is present. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a81e63ec4bfd2d7ef0a6c2ed49be6e623"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::value </td>
          <td>(</td>
          <td class="paramtype">const Ch *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets value of node to a zero-terminated string. See also ownership_of_strings and <a class="el" href="classrapidxml_1_1xml__base.html#a3b183c2db7022a6d30494dd2f0ac11e9">xml_node::value(const Ch *, std::size_t)</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>Vame of node to set. Must be zero terminated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9fcf201ed0915ac18dd43b0b5dcfaf32"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::size_t <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::value_size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets size of node value, not including terminator character. This function works correctly irrespective of whether value is or is not zero terminated. </p>
<dl class="section return"><dt>Returns</dt><dd>Size of node value, in characters. </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="afd9851ed43e14619db0d7075ef8e9e8a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ch* <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::m_name</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5a8c76a7274b4180213796422c4df76f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::size_t <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::m_name_size</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a90d5f660f078f66563fd7b2d8387ccb0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidxml_1_1xml__node.html">xml_node</a>&lt;Ch&gt;* <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::m_parent</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a278a1ea63b0b70219b946cec47fa00ea"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ch* <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::m_value</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa3a49d8ceddb8a8d7edb773a2226b89c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Ch  = char&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::size_t <a class="el" href="classrapidxml_1_1xml__base.html">rapidxml::xml_base</a>&lt; Ch &gt;::m_value_size</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>C:/Users/Christopher/Documents/NetBeansProjects/pbsearch/SearchEngine/<a class="el" href="rapidxml_8hpp_source.html">rapidxml.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Dec 3 2012 01:21:31 for Search Engine by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.2
</small></address>
</body>
</html>
